class TokenUtil {
    private static storageKey = "auth_token"; 

    /**
     * 设置 Token
     * @param token  要存储的 Token
     * @param remember 是否持久化（true: localStorage, false: sessionStorage）
     */
    static setToken(token: string, remember = true): void {
        if (remember) {
            localStorage.setItem(this.storageKey, token);
        } else {
            sessionStorage.setItem(this.storageKey, token);
        }
    }

    /**
     * 获取 Token
     * @returns 返回存储的 Token，如果没有则返回 null
     */
    static getToken(): string | null {
        return localStorage.getItem(this.storageKey) || sessionStorage.getItem(this.storageKey);
    }

    /**
     * 移除 Token
     */
    static removeToken(): void {
        localStorage.removeItem(this.storageKey);
        sessionStorage.removeItem(this.storageKey);
    }
}

export default TokenUtil;
